/*
PearReview - The peer review assistant.
Copyright (C) 2009  Dimitrij Pankratz, Anton Musichin
http://www.pearreview.com, info@pearreview.com

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
*/

package com.pearreview.ui.slidebox;

import java.awt.AlphaComposite;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Rectangle;

import javax.swing.JPanel;

public class FadingPanel extends JPanel {
	private boolean faded = false;

	public void setFaded(boolean faded) {
		this.faded = faded;
		repaint();
	}

	/**
	 * 
	 */
	private static final long serialVersionUID = -2205482410095912391L;
	
	@Override
	public void paint(Graphics g) {
		super.paint(g);
		
		if (faded == true) {
			Graphics2D g2 = (Graphics2D) g.create();
			// gets the current clipping area
			Rectangle clip = g.getClipBounds();
			// sets a  translucent composite
			AlphaComposite alpha = AlphaComposite.Xor.derive(0.45f);
			g2.setComposite(alpha);
			// fills the background
			g2.setColor(getBackground());
			g2.fillRect(clip.x, clip.y, clip.width, clip.height);
		}
	}

}
